package com.aaa.commonmethods;

/**
 * @author C-Q
 * @version 1.1.0
 * @Description:
 * 守护线程:
 *      线程对象.setDaemon(true);设置为守护线程。
 *      线程有两类:用户线程（前台线程）和守护线程（后台线程）
 *      如果程序中所有前台线程都执行完毕了，后台线程也会自动结束。
 *      垃圾回收线程属于守护线程。
 * @date 2022/11/1
 */
public class SetDaemonDemo extends Thread{
    @Override
    public void run() {
        super.run();
        for (int i = 0; i < 10; i++) {
            System.out.println(Thread.currentThread().getName()+"~~~~~"+i);
        }
    }
}

class Test04{
    public static void main(String[] args) {
        SetDaemonDemo sdd = new SetDaemonDemo();
        sdd.setDaemon(true);
        //将sdd设置为守护线程，前台线程执行完之后，守护线程也会结束；
        sdd.start();
        SetDaemonDemo sdd1 = new SetDaemonDemo();
       //前台线程
        sdd1.start();
        for (int i = 0; i < 10; i++) {
            System.out.println("main~~~~~"+i);
        }
    }
}
